package com.macro.mall.model.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 凭证核销请求参数
 */
@Data
public class VoucherVerifyRequest {
    // 外部订单ID（商户系统唯一标识）
    @NotBlank(message = "外部订单ID不能为空")
    @JsonProperty("out_order_id")
    private String outOrderId;

    // 门店ID（分账到门店的商品必传）
    @JsonProperty("poi_id")
    private String poiId;

    // 券信息列表
    @JsonProperty("voucher_infos")
    @NotEmpty(message = "券信息不能为空")
    @Valid
    private List<VoucherInfo> voucherInfos;

    @Data
    public static class VoucherInfo {
        // 凭证码
        @JsonProperty("voucher_code")
        private String voucherCode;
    }
}
